package lcof;

/**
 * @BelongsProject: LeetCode
 * @BelongsPackage: lcof
 * @Author: 江岸
 * @CreateTime: 2021-02-28 17:09
 * @Description: 一只青蛙一次可以跳上1级台阶，也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
 *
 * 答案需要取模 1e9+7（1000000007），如计算初始结果为：1000000008，请返回 1。
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcof
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
public class NumWays10II {


    //动态规划 转移方程 dp[n] = dp[n-2] + dp[n-1];
    public int numWays(int n) {
        if (n==0 || n==1) return 1;
        int x=1;
        int y=2;
        int res=0;
        for (int i=3;i<=n;i++){
            res = (x+y)%1000000007;
            x=y;
            y=res;
        }
        return y;
    }
}
